Both FIO Records 2015 1 & 2 were merged together.
setwd("~/R Data Files")
FIO15 <- read.csv('FIO Records 2015 (New RMS) - FieldContact_Name Table.csv')
FIO15_2 <- read.csv('FIO Records 2015 (New RMS) - FieldContact Table.csv')
FIO15_Records = merge(FIO15, FIO15_2, by = 'fc_num',all = TRUE)
head(FIO15_Records)
summary(FIO15_Records)
fc_num recnum contact_date.x sex race
F150008950: 12 Min. :1e+08 2015-07-23 22:30:00.0000000: 62 : 22 : 22
F160012088: 12 1st Qu.:1e+08 2015-06-11 18:26:00.0000000: 30 Female : 959 Asian : 56
F150010428: 10 Median :1e+08 2015-09-07 06:45:00.0000000: 22 Male :10980 Black :8521
F150008600: 9 Mean :1e+08 2015-07-23 19:26:00.0000000: 14 Transgender Female to Male: 1 Native American / Alaskan Native : 16
F150011337: 9 3rd Qu.:1e+08 2015-06-26 17:52:00.0000000: 13 Transgender Male to Female: 5 Native Hawaiian / Other Pacific Islander: 5
F150004108: 8 Max. :1e+08 2015-07-07 19:00:00.0000000: 13 Unknown : 22 Unknown : 915
(Other) :11929 NA's :22 (Other) :11835 White :2454
age build hair_style complexion ethnicity otherclothing contact_date.y
Min. :-1778.00 :4626 :8361 Medium :3427 :7769 :2081 2015-07-23 22:30:00.0000000: 62
1st Qu.: 21.00 Medium :3322 Short :2017 :2477 Hispanic Origin : 810 WHITE TSHIRT, BLUE JEANS : 72 2015-06-11 18:26:00.0000000: 30
Median : 25.00 Thin :1342 Braids : 570 Light :1823 Not of Hispanic Origin:3026 BLACK HOODIE, BLUE JEANS : 37 2015-09-07 06:45:00.0000000: 22
Mean : 27.28 Small :1249 Long : 369 Dark :1243 Unknown : 384 WHITE T-SHIRT, BLUE JEANS: 35 2015-07-23 19:26:00.0000000: 14
3rd Qu.: 31.75 Heavy : 619 Bald : 190 Medium Brown:1203 BLACK JACKET, BLUE JEANS : 33 2015-06-26 17:52:00.0000000: 13
Max. : 353.00 Stocky : 330 Straight: 156 Dark Brown : 700 BLACK SHIRT, BLUE JEANS : 30 2015-07-07 19:00:00.0000000: 13
NA's :287 (Other): 501 (Other) : 326 (Other) :1116 (Other) :9701 (Other) :11835
contact_officer contact_officer_name supervisor supervisor_name streetaddr city state zip frisked
092675 : 557 DERVAN,EDWARD P.: 557 Min. : 7329 HYNES, JOHN :1998 618 SHAWMUT AVE : 166 BSTN :10091 : 302 02119 :1784 :8410
011817 : 462 EZEKIEL,JASON M : 398 1st Qu.:10132 JONES, KEVIN :1132 75 BOYLSTON ST : 85 ROXBURY : 440 MA:11676 02121 :1413 Y:3579
107106 : 374 O'LOUGHLIN,JAMES: 337 Median :11612 COGAVIN, DENNIS:1081 609 SHAWMUT AVE : 74 BOSTON : 410 ME: 10 02124 :1224
: 317 : 317 Mean :24101 BICKERTON, DEAN: 641 279 CENTRE ST : 73 DORCHESTER : 371 NY: 1 02118 : 808
102400 : 307 KELLY,BRENDAN W.: 307 3rd Qu.:11756 RYAN, GARY : 581 124 EUSTIS ST : 60 : 330 : 805
050576 : 201 BUIEL,JOSEPH : 193 Max. :99724 VICKERS, MARK : 533 70 ANNUNCIATION RD: 53 JAMAICA PLAIN: 73 02125 : 774
(Other):9771 (Other) :9880 (Other) :6023 (Other) :11478 (Other) : 274 (Other):5181
searchperson searchvehicle summonsissued stop_duration circumstance basis vehicle_year vehicle_state
:10186 :10889 :11612 :5880 Encountered:2502 Encounter :2012 Min. : 0 :7720
Y: 1803 Y: 1100 Y: 377 Five to Ten Minutes :2624 Observed :3829 Intel :1338 1st Qu.:2002 MA :3802
Ten to Fifteen Minutes :1020 Stopped :5658 Probable Cause :4814 Median :2006 ME : 86
Less Than Five Minutes : 926 Reasonable Suspicion:3825 Mean :1994 NY : 61
Fifteen to Twenty Minutes : 841 3rd Qu.:2013 RI : 49
Twenty-Five to Thirty Minutes: 221 Max. :2105 NH : 39
(Other) : 477 NA's :8130 (Other): 232
vehicle_make vehicle_model vehicle_color vehicle_style vehicle_type contact_reason
:9336 :9336 :7822 :9266 :9077 : 576
HONDA : 425 OTHER : 327 GRAY :1226 PASSENGER CAR:2686 Sedan :2112 PROBATION CHECK : 122
NISSAN : 343 ACCORD : 259 BLACK : 966 PICKUP : 37 SUV or Utility Van: 489 TRAFFIC STOP : 85
TOYOTA : 258 ALTIMA : 176 WHITE : 557 Compact : 101 INVESTIGATIVE OPERATION : 78
FORD : 243 CIVIC : 140 BLUE : 451 Station Wagon : 60 VALS : 67
CHEVROLET: 179 CAMRY : 127 RED : 339 Other : 55 GANG INVESTIGATION\nFIREARM RECOVERY: 64
(Other) :1205 (Other):1624 (Other): 628 (Other) : 95 (Other) :10997
str(FIO15_Records)
'data.frame': 11989 obs. of 35 variables:
$ fc_num : Factor w/ 9203 levels "F150003405","F150003407",..: 1 1 2 2 2 2 3 4 4 4 ...
$ recnum : int 100003165 100003164 100002605 100002608 100002606 100002607 100002633 100002621 100002622 100002623 ...
$ contact_date.x : Factor w/ 6911 levels "0217-04-17 12:30:00.0000000",..: 699 699 701 701 701 701 702 706 706 706 ...
$ sex : Factor w/ 6 levels "","Female","Male",..: 2 3 3 3 3 3 3 3 3 3 ...
$ race : Factor w/ 7 levels "","Asian","Black",..: 3 3 3 3 3 3 3 3 3 7 ...
$ age : int 52 20 23 26 22 29 37 25 27 39 ...
$ build : Factor w/ 10 levels "","Average","Heavy",..: 4 4 8 1 9 1 9 4 9 9 ...
$ hair_style : Factor w/ 10 levels "","Afro","Bald",..: 9 8 8 1 4 1 8 5 1 6 ...
$ complexion : Factor w/ 15 levels "","Albino","Black",..: 12 12 10 1 9 1 10 4 5 7 ...
$ ethnicity : Factor w/ 4 levels "","Hispanic Origin",..: 3 3 1 1 1 1 3 1 1 1 ...
$ otherclothing : Factor w/ 8246 levels "","\"85\" PATRIOTS JERSEY & CAMOU PANTS",..: 4750 2827 7192 1 5588 1 7571 1395 6327 1 ...
$ contact_date.y : Factor w/ 6911 levels "0217-04-17 12:30:00.0000000",..: 699 699 701 701 701 701 702 706 706 706 ...
$ contact_officer : Factor w/ 648 levels "","001521","001551",..: 354 354 570 570 570 570 208 193 193 193 ...
$ contact_officer_name: Factor w/ 813 levels "","ABRAHAMSON,PATRICK OLAF",..: 410 410 702 702 702 702 386 753 753 753 ...
$ supervisor : int 11756 11756 11359 11359 11359 11359 11312 9795 9795 9795 ...
$ supervisor_name : Factor w/ 168 levels "ASSAD, MARK",..: 54 54 137 137 137 137 57 122 122 122 ...
$ streetaddr : Factor w/ 4801 levels "0 MYSTIC ST",..: 2128 2128 2463 2463 2463 2463 2969 4792 4792 4792 ...
$ city : Factor w/ 56 levels "","2ND FL","B",..: 13 13 13 13 13 13 13 13 13 13 ...
$ state : Factor w/ 4 levels "","MA","ME","NY": 2 2 2 2 2 2 2 2 2 2 ...
$ zip : Factor w/ 54 levels "","00000","00000-0000",..: 26 26 28 28 28 28 26 6 6 6 ...
$ frisked : Factor w/ 2 levels "","Y": 1 1 2 2 2 2 2 2 2 2 ...
$ searchperson : Factor w/ 2 levels "","Y": 1 1 2 2 2 2 2 2 2 2 ...
$ searchvehicle : Factor w/ 2 levels "","Y": 1 1 1 1 1 1 2 1 1 1 ...
$ summonsissued : Factor w/ 2 levels "","Y": 1 1 1 1 1 1 1 1 1 1 ...
$ stop_duration : Factor w/ 11 levels "","Fifteen to Twenty Minutes",..: 3 3 11 11 11 11 8 11 11 11 ...
$ circumstance : Factor w/ 3 levels "Encountered",..: 1 1 3 3 3 3 3 2 2 2 ...
$ basis : Factor w/ 4 levels "Encounter","Intel",..: 1 1 3 3 3 3 4 4 4 4 ...
$ vehicle_year : int NA NA 2010 2010 2010 2010 2014 NA NA NA ...
$ vehicle_state : Factor w/ 36 levels ""," ","AB","AL",..: 1 1 14 14 14 14 14 1 1 1 ...
$ vehicle_make : Factor w/ 43 levels "","ACURA","AUDI",..: 1 1 15 15 15 15 15 1 1 1 ...
$ vehicle_model : Factor w/ 175 levels "","3 SERIES",..: 1 1 17 17 17 17 17 1 1 1 ...
$ vehicle_color : Factor w/ 17 levels "","BLACK ","BLUE",..: 1 1 7 7 7 7 16 1 1 1 ...
$ vehicle_style : Factor w/ 3 levels "","PASSENGER CAR",..: 1 1 2 2 2 2 2 1 1 1 ...
$ vehicle_type : Factor w/ 13 levels "","Bus/Passenger Van",..: 1 1 10 10 10 10 10 1 1 1 ...
$ contact_reason : Factor w/ 7442 levels "","- CONFIRMED/ACTIVE MOZART ASSOC IN THE BRIC DATABASE\n\n- TSTOP, XXX SUMMONSED FOR OP AFTER SUSPENSION\n\n- XXX"| __truncated__,..: 3357 3357 6768 6768 6768 6768 1 389 389 389 ...
Can’t delete NA’s for this data set so the values with many NA’s were factored with a U to signify it’s a missing value.
FIO15_Records$sex <- factor(FIO15_Records$sex)
levels(FIO15_Records) <- c("Female", "Male", "Transgender Female to Male", "Transgender Male to Female", "Unknown", "Other","Not Specified")
FIO15_Records$race <- factor(FIO15_Records$race)
levels(FIO15_Records$race) <- c("Asian","Black","Native American / Alaskan Native","Native Hawaiian / Other Pacific Islander", "Unknown", "White", "Not Specified", "Other")
FIO15_Records$build <- factor(FIO15_Records$build, levels = c("Medium", "Thin", "Small", "Heavy", "Stocky", "Other", "Not Specified"), ordered = TRUE)
levels(FIO15_Records$build) <- c(levels(FIO15_Records$build),"U")
FIO15_Records$build[is.na(FIO15_Records$build)]<- "U"
FIO15_Records$hair_style <- factor(FIO15_Records$hair_style, levels = c("Short", "Braids","Long", "Bald", "Straight", "Curly/Wavy", "Not Specified", "Other"), ordered = TRUE)
levels(FIO15_Records$hair_style) <- c(levels(FIO15_Records$hair_style),"U")
FIO15_Records$hair_style[is.na(FIO15_Records$hair_style)]<- "U"
FIO15_Records$complexion <- factor(FIO15_Records$complexion, levels = c("Medium", "Light","Dark", "Medium Brown", "Dark Brown", "Other","Specified"), ordered = TRUE)
levels(FIO15_Records$complexion) <- c(levels(FIO15_Records$complexion),"U")
FIO15_Records$complexion[is.na(FIO15_Records$complexion)]<- "U"
FIO15_Records$ethnicity <- factor(FIO15_Records$ethnicity)
levels(FIO15_Records$ethnicity) <- c("Hispanic Origin", "Not of Hispanic Origin", "Unknown", "Not Specified")
FIO15_Records$otherclothing <- factor(FIO15_Records$otherclothing, levels = c("WHITE TSHIRT, BLUE JEANS", "BLACK HOODIE, BLUE JEANS", "WHITE T-SHIRT, BLUE JEANS", "BLACK SHIRT, BLUE JEANS", "OTHER"), ordered = TRUE)
levels(FIO15_Records$otherclothing) <- c(levels(FIO15_Records$otherclothing),"U")
FIO15_Records$otherclothing[is.na(FIO15_Records$otherclothing)]<- "U"
FIO15_Records$city <- factor(FIO15_Records$city, levels = c("BSTN", "BOSTON", "DORCHESTER", "ROXBURY", "JAMAICA PLAIN","OTHER","NOT SPECIFIED"), ordered = TRUE)
levels(FIO15_Records$city) <- c(levels(FIO15_Records$city),"U")
FIO15_Records$city[is.na(FIO15_Records$city)]<- "U"
FIO15_Records$state <- factor(FIO15_Records$state)
levels(FIO15_Records$state) <- c( "MA", "ME","NY", "OTHER", "NOT SPECIFIED")
FIO15_Records$frisked <- factor(FIO15_Records$frisked)
levels(FIO15_Records$frisked) <- c("N", "Y")
FIO15_Records$searchperson <- factor(FIO15_Records$searchperson)
levels(FIO15_Records$searchperson) <- c("N", "Y")
FIO15_Records$searchvehicle <- factor(FIO15_Records$searchvehicle)
levels(FIO15_Records$searchvehicle) <- c("N", "Y")
FIO15_Records$summonsissued <- factor(FIO15_Records$summonsissued)
levels(FIO15_Records$summonsissued) <- c("N", "Y")
FIO15_Records$stop_duration <- factor(FIO15_Records$stop_duration, levels = c(" Five to Ten Minutes", "Less Than Five Minutes", "Ten to Fifteen Minutes", "Fifteen to Twenty Minutes", "Thirty to Forty-Five Minutes", "Other", "Not Specified"), ordered = TRUE)
levels(FIO15_Records$stop_duration)
[1] " Five to Ten Minutes" "Less Than Five Minutes" "Ten to Fifteen Minutes" "Fifteen to Twenty Minutes" "Thirty to Forty-Five Minutes"
[6] "Other" "Not Specified"
FIO15_Records$vehicle_state <- factor(FIO15_Records$vehicle_state, levels = c("MA","ME","NY","RI","NH","Other","Not Specified"), ordered = TRUE)
levels(FIO15_Records$vehicle_state) <- c(levels(FIO15_Records$vehicle_state),"U")
FIO15_Records$vehicle_state[is.na(FIO15_Records$vehicle_state)]<- "U"
FIO15_Records$vehicle_make <- factor(FIO15_Records$vehicle_make, levels = c("HONDA", "NISSAN","TOYOTA", "FORD","CHEVROLET", "OTHER","NOT SPECIFIED"), ordered = TRUE)
levels(FIO15_Records$vehicle_make) <- c(levels(FIO15_Records$vehicle_make),"U")
FIO15_Records$vehicle_make[is.na(FIO15_Records$vehicle_make)]<- "U"
FIO15_Records$vehicle_model <- factor(FIO15_Records$vehicle_model, levels = c("ACCORD", "ALTIMA", "CIVIC","CAMRY","OTHER", "NOT SPECFIED"), ordered = TRUE)
levels(FIO15_Records$vehicle_model) <- c(levels(FIO15_Records$vehicle_model),"U")
FIO15_Records$vehicle_model[is.na(FIO15_Records$vehicle_model)]<- "U"
FIO15_Records$vehicle_color <- factor(FIO15_Records$vehicle_color, levels = c("GRAY","BLACK", "WHITE","BLUE", "RED","OTHER", "NOT SPECIFIED"), ordered = TRUE)
levels(FIO15_Records$vehicle_color) <- c(levels(FIO15_Records$vehicle_color),"U")
FIO15_Records$vehicle_color[is.na(FIO15_Records$vehicle_color)]<- "U"
FIO15_Records$vehicle_style <- factor(FIO15_Records$vehicle_style)
levels(FIO15_Records$vehicle_style) <- c("PASSENGER CAR", "PICKUP", "OTHER", "NOT SPECIFIED")
FIO15_Records$vehicle_type <- factor(FIO15_Records$vehicle_type, levels = c("Sedan","SUV or Utility Van","Compact","Other","Station Wagon","Not Specified"), ordered = TRUE)
levels(FIO15_Records$vehicle_type) <- c(levels(FIO15_Records$vehicle_type),"U")
FIO15_Records$vehicle_type[is.na(FIO15_Records$vehicle_type)]<- "U"
FIO15_Records$contact_reason <- factor(FIO15_Records$contact_reason, levels = c("PROBATION CHECK", "INVESTIGATIVE OPERATION", "TRAFFIC STOP", "VALS", "DRUG INVEST", "OTHER","NOT SPECIFIED"), ordered = TRUE)
levels(FIO15_Records$contact_reason) <- c(levels(FIO15_Records$contact_reason),"U")
FIO15_Records$contact_reason[is.na(FIO15_Records$contact_reason)]<- "U"
levels(FIO15_Records$sex)
[1] "" "Female" "Male" "Transgender Female to Male" "Transgender Male to Female"
[6] "Unknown"
levels(FIO15_Records$race)
[1] "Asian" "Black" "Native American / Alaskan Native"
[4] "Native Hawaiian / Other Pacific Islander" "Unknown" "White"
[7] "Not Specified" "Other"
levels(FIO15_Records$build)
[1] "Medium" "Thin" "Small" "Heavy" "Stocky" "Other" "Not Specified" "U"
levels(FIO15_Records$hair_style)
[1] "Short" "Braids" "Long" "Bald" "Straight" "Curly/Wavy" "Not Specified" "Other" "U"
levels(FIO15_Records$complexion)
[1] "Medium" "Light" "Dark" "Medium Brown" "Dark Brown" "Other" "Specified" "U"
levels(FIO15_Records$ethnicity)
[1] "Hispanic Origin" "Not of Hispanic Origin" "Unknown" "Not Specified"
levels(FIO15_Records$otherclothing)
[1] "WHITE TSHIRT, BLUE JEANS" "BLACK HOODIE, BLUE JEANS" "WHITE T-SHIRT, BLUE JEANS" "BLACK SHIRT, BLUE JEANS" "OTHER"
[6] "U"
levels(FIO15_Records$city)
[1] "BSTN" "BOSTON" "DORCHESTER" "ROXBURY" "JAMAICA PLAIN" "OTHER" "NOT SPECIFIED" "U"
levels(FIO15_Records$state)
[1] "MA" "ME" "NY" "OTHER" "NOT SPECIFIED"
levels(FIO15_Records$frisked)
[1] "N" "Y"
levels(FIO15_Records$searchperson)
[1] "N" "Y"
levels(FIO15_Records$searchvehicle)
[1] "N" "Y"
levels(FIO15_Records$summonsissued)
[1] "N" "Y"
levels(FIO15_Records$stop_duration)
[1] " Five to Ten Minutes" "Less Than Five Minutes" "Ten to Fifteen Minutes" "Fifteen to Twenty Minutes" "Thirty to Forty-Five Minutes"
[6] "Other" "Not Specified"
levels(FIO15_Records$vehicle_state)
[1] "MA" "ME" "NY" "RI" "NH" "Other" "Not Specified" "U"
levels(FIO15_Records$vehicle_make)
[1] "HONDA" "NISSAN" "TOYOTA" "FORD" "CHEVROLET" "OTHER" "NOT SPECIFIED" "U"
levels(FIO15_Records$vehicle_model)
[1] "ACCORD" "ALTIMA" "CIVIC" "CAMRY" "OTHER" "NOT SPECFIED" "U"
levels(FIO15_Records$vehicle_color)
[1] "GRAY" "BLACK" "WHITE" "BLUE" "RED" "OTHER" "NOT SPECIFIED" "U"
levels(FIO15_Records$vehicle_style)
[1] "PASSENGER CAR" "PICKUP" "OTHER" "NOT SPECIFIED"
levels(FIO15_Records$vehicle_type)
[1] "Sedan" "SUV or Utility Van" "Compact" "Other" "Station Wagon" "Not Specified" "U"
levels(FIO15_Records$contact_reason)
[1] "PROBATION CHECK" "INVESTIGATIVE OPERATION" "TRAFFIC STOP" "VALS" "DRUG INVEST" "OTHER"
[7] "NOT SPECIFIED" "U"
Can’t delete NA’s in merged data sets therefore NA’s had to be factored into a U
newFIO15_Records = FIO15_Records
newFIO15_Records = newFIO15_Records[!is.na(newFIO15_Records$age),]
newFIO15_Records = newFIO15_Records[!is.na(newFIO15_Records$stop_duration),]
newFIO15_Records = newFIO15_Records[!(newFIO15_Records$zip == ""),]
newFIO15_Records$sex = droplevels(newFIO15_Records$sex)
summary(newFIO15_Records)
fc_num recnum contact_date.x sex race age
F150008600: 9 Min. :1e+08 2015-09-28 14:00:00.0000000: 9 Female : 309 Native American / Alaskan Native :1746 Min. : 0.0
F150011337: 9 1st Qu.:1e+08 2015-10-27 22:30:00.0000000: 9 Male :2404 Not Specified : 827 1st Qu.:21.0
F150009044: 7 Median :1e+08 2015-12-23 02:03:00.0000000: 9 Transgender Male to Female: 1 White : 125 Median :26.0
F150009420: 7 Mean :1e+08 2015-10-13 18:10:00.0000000: 8 Unknown : 1 Black : 10 Mean :28.7
F150009448: 7 3rd Qu.:1e+08 2015-11-06 00:00:00.0000000: 8 Native Hawaiian / Other Pacific Islander: 4 3rd Qu.:34.0
F150011392: 7 Max. :1e+08 2015-12-11 18:00:00.0000000: 8 Unknown : 3 Max. :83.0
(Other) :2669 (Other) :2664 (Other) : 0
build hair_style complexion ethnicity otherclothing contact_date.y contact_officer
Medium :971 U :1375 U :960 Hispanic Origin :1580 WHITE TSHIRT, BLUE JEANS : 3 2015-09-28 14:00:00.0000000: 9 092675 : 103
U :596 Short : 902 Medium :511 Not of Hispanic Origin: 209 BLACK HOODIE, BLUE JEANS : 8 2015-10-27 22:30:00.0000000: 9 102400 : 94
Thin :522 Braids : 164 Light :492 Unknown : 838 WHITE T-SHIRT, BLUE JEANS: 4 2015-12-23 02:03:00.0000000: 9 107106 : 85
Small :303 Long : 149 Medium Brown:339 Not Specified : 88 BLACK SHIRT, BLUE JEANS : 2 2015-10-13 18:10:00.0000000: 8 011817 : 63
Heavy :203 Straight: 66 Dark Brown :210 OTHER : 0 2015-11-06 00:00:00.0000000: 8 116945 : 63
Stocky :120 Bald : 59 Dark :198 U :2698 2015-12-11 18:00:00.0000000: 8 010804 : 40
(Other): 0 (Other) : 0 (Other) : 5 (Other) :2664 (Other):2267
contact_officer_name supervisor supervisor_name streetaddr city state zip
DERVAN,EDWARD P. : 103 Min. : 7358 HYNES, JOHN : 284 618 SHAWMUT AVE : 47 BSTN :2463 MA : 7 02119 : 344
KELLY,BRENDAN W. : 94 1st Qu.: 9034 VICKERS, MARK : 212 279 CENTRE ST : 36 ROXBURY : 93 ME :2708 02124 : 312
O'LOUGHLIN,JAMES : 85 Median :10801 RYAN, GARY : 147 159 CABOT ST : 20 DORCHESTER : 54 NY : 0 02118 : 219
EZEKIEL,JASON M : 63 Mean :18504 VICKERS, MARK 008740: 135 29 MOUNT PLEASANT AVE: 17 U : 46 OTHER : 0 02121 : 195
KENNEDY,CHRISTOPHER M: 53 3rd Qu.:11620 FORD, JOHN : 133 70 ANNUNCIATION RD : 17 BOSTON : 44 NOT SPECIFIED: 0 02130 : 194
MCMANUS,BRIAN B. : 40 Max. :99724 BICKERTON, DEAN : 101 280 CENTRE ST : 16 JAMAICA PLAIN: 15 02125 : 179
(Other) :2277 (Other) :1703 (Other) :2562 (Other) : 0 (Other):1272
frisked searchperson searchvehicle summonsissued stop_duration circumstance basis vehicle_year vehicle_state
N:1616 N:2215 N:2409 N:2561 Five to Ten Minutes : 0 Encountered: 596 Encounter : 562 Min. : 3 U :1849
Y:1099 Y: 500 Y: 306 Y: 154 Less Than Five Minutes :819 Observed : 448 Intel : 315 1st Qu.:2002 MA : 811
Ten to Fifteen Minutes :949 Stopped :1671 Probable Cause :1136 Median :2006 ME : 28
Fifteen to Twenty Minutes :776 Reasonable Suspicion: 702 Mean :2000 RI : 11
Thirty to Forty-Five Minutes:171 3rd Qu.:2012 NY : 8
Other : 0 Max. :2016 NH : 8
Not Specified : 0 NA's :1849 (Other): 0
vehicle_make vehicle_model vehicle_color vehicle_style vehicle_type contact_reason
U :2258 ACCORD : 80 U :2143 PASSENGER CAR:1885 Sedan : 564 U :2690
HONDA : 127 ALTIMA : 44 GRAY : 229 PICKUP : 813 SUV or Utility Van: 165 INVESTIGATIVE OPERATION: 10
NISSAN : 105 CIVIC : 39 WHITE : 151 OTHER : 17 Compact : 37 TRAFFIC STOP : 6
FORD : 89 CAMRY : 38 BLUE : 110 NOT SPECIFIED: 0 Other : 19 DRUG INVEST : 5
CHEVROLET: 69 OTHER : 106 RED : 82 Station Wagon : 13 PROBATION CHECK : 2
TOYOTA : 67 NOT SPECFIED: 0 BLACK : 0 Not Specified : 0 VALS : 2
(Other) : 0 U :2408 (Other): 0 U :1917 (Other) : 0
#library(ggmap)
#library(dplyr)
#X = mutate_geocode(FI11_15[1:1000,], ADDRESS)
FI11_15 = read.csv("FI11_15.csv")
FI11_15 = FI11_15[,-1]
street_address = read.csv("Live_Street_Address_Management_SAM_Addresses.csv")
colnames(street_address)[1] = "X"
# geocoding street address.
FI11_15 = FI11_15[complete.cases(FI11_15),]
dim(FI11_15[complete.cases(FI11_15),])
[1] 7317 44
#street_address = Live_Street_Address_Management_SAM_Addresses
street_address = street_address[,colnames(street_address) %in% c('X','Y','STREET_ID')]
street_address = unique(street_address)
street_address = street_address[street_address$STREET_ID %in% FI11_15$STREET_ID,]
street_address = street_address[!duplicated(street_address$STREET_ID),]
data = merge(FI11_15,street_address,by="STREET_ID")
colnames(data)[45] = "long"
colnames(data)[46] = "lat"
summary(data)
STREET_ID X.x SEQ_NUM FIO_ID SEX LOCATION DIST DIST_ID
Min. : 19 Min. : 55 Min. : 696428 Min. :511191 FEMALE : 484 70 ANNUNCIATION RD: 33 B2 :3015 Min. : 1.000
1st Qu.: 916 1st Qu.: 37744 1st Qu.: 880079 1st Qu.:563833 MALE :5383 58 ANNUNCIATION RD: 24 C11 :1484 1st Qu.: 3.000
Median :1766 Median : 79050 Median : 921137 Median :604660 UNKNOWN: 1 131 HAROLD ST : 20 B3 : 843 Median : 3.000
Mean :1956 Mean : 76757 Mean : 913893 Mean :600888 BOWER ST : 18 D4 : 130 Mean : 4.086
3rd Qu.:2929 3rd Qu.:113410 3rd Qu.: 955850 3rd Qu.:638947 1352 DORCHESTER AV: 18 E13 : 82 3rd Qu.: 5.000
Max. :5059 Max. :152225 Max. :1052504 Max. :666971 500 GENEVA AV : 17 A1 : 64 Max. :23.000
(Other) :5738 (Other): 250
FIO_DATE FIO_TIME PRIORS DESCRIPTION CLOTHING
05/23/2014 12:00:00 AM: 30 05/23/2014 12:00:00 AM: 30 NO : 503 B(Black) :5124 black jacket, blue jeans: 5
09/03/2014 12:00:00 AM: 29 09/03/2014 12:00:00 AM: 29 U : 409 W(White) : 358 BLACK JACKET, BLUE JEANS: 30
06/01/2014 12:00:00 AM: 27 06/01/2014 12:00:00 AM: 27 UNKNOWN: 38 NO DATA ENTERED : 184 BLK JACKET, BLUE JEANS : 22
06/11/2014 12:00:00 AM: 26 06/11/2014 12:00:00 AM: 26 YES :4918 H(Hispanic) : 169 U :5811
05/16/2014 12:00:00 AM: 22 05/16/2014 12:00:00 AM: 22 A(Asian or Pacific Islander) : 20 UNKNOWN : 0
05/22/2015 12:00:00 AM: 22 05/22/2015 12:00:00 AM: 22 M(Middle Eastern or East Indian): 8
(Other) :5712 (Other) :5712 (Other) : 5
COMPLEXION FIOFS_TYPE TERRORISM SEARCH BASIS STOP_REASONS FIOFS_REASONS OUTCOME
Med :3298 IO :2214 NO :5867 OTHER: 359 CONSENT SEARCH :4725 CITIZEN ASSIST :1018 INVESTIGATE, PERSON :3619 F :5436
Dark :1270 IOF :1396 YES: 1 P :4894 OTHER : 399 CRIMINAL VIOLATION : 3 VAL :1135 FO: 107
Light : 759 O : 813 V : 396 PROBABLE CAUSE : 47 INVESTIGATIVE : 18 INVESTIGATE, MV : 227 O : 48
NO DATA ENTERED: 314 IOFS : 561 VP : 219 REASONABLE SUSPICION: 697 MOTOR VEHICLE VIOLATION:2639 WARRANT ARREST : 131 S : 71
Brown : 181 OF : 459 OTHER(SPECIFY) : 766 TRESPASSING : 107 SF: 69
Fair : 25 I : 143 RADIO CALL :1004 DRUGS, INVESTIGATION: 97 U : 137
(Other) : 21 (Other): 282 UNKNOWN : 420 (Other) : 552
VEH_MAKE VEH_COLOR VEH_MODEL VEH_OCCUPANT VEH_STATE OFFICER_ID SUPERVISOR OFF_DIST_ID
NO DATA ENTERED:3577 NO DATA ENTERED:3650 4 DR : 25 DRIVER :3807 NO DATA ENTERED:3561 Min. : 1 JOHN J FORD :3807 Min. : 1.00
HONDA : 335 GREY : 540 4DR : 508 PASSENGER:1125 MA :2101 1st Qu.: 89996 PAUL R DONOVAN : 936 1st Qu.: 3.00
NISSAN : 274 BLACK : 486 sedan: 58 UNKNOWN : 936 New Hampshire : 28 Median : 99722 TIMOTHY M HORAN:1125 Median : 16.00
FORD : 197 WHITE : 279 SEDAN: 266 New York : 24 Mean : 91125 Mean : 36.01
ACURA : 169 BLUE : 239 SUV : 103 Maine : 17 3rd Qu.:103611 3rd Qu.: 16.00
CHEVROLET : 165 RED : 187 U :4908 Connecticut : 15 Max. :131283 Max. :9999.00
(Other) :1151 (Other) : 487 (Other) : 122
OFF_DIST OFFICER SUP_ENTRYDATE LAST_UPDATETIME ETHNICITY FIRST_INSERTTIME ACTIVE_ID
YVSF :3209 EDWARD P. DERVAN : 563 03/26/2012 12:00:00 AM: 57 10/02/2014 12:00:00 AM: 44 BNH: 971 10/02/2014 12:00:00 AM: 44 Min. :1
B2 :1710 Taylor S. Small : 239 10/16/2012 12:00:00 AM: 3 03/19/2012 12:00:00 AM: 41 CV :1131 03/19/2012 12:00:00 AM: 41 1st Qu.:1
C11 : 651 John G Burrows : 231 U :5808 05/26/2015 12:00:00 AM: 41 N/H:1251 05/26/2015 12:00:00 AM: 41 Median :1
B3 : 172 Brian W Johnson : 207 10/09/2014 12:00:00 AM: 36 NH :2515 10/09/2014 12:00:00 AM: 36 Mean :1
D14 : 46 Jean G Jean-Louis : 189 07/29/2014 12:00:00 AM: 35 07/29/2014 12:00:00 AM: 35 3rd Qu.:1
C6 : 22 Philip Bissonnett: 188 02/09/2014 12:00:00 AM: 34 02/09/2014 12:00:00 AM: 34 Max. :1
(Other): 58 (Other) :4251 (Other) :5637 (Other) :5637
RACE_ID RACE_DESC FIO_DATE_CORRECTED AGE_AT_FIO_CORRECTED CITY CAT
Min. : 0.000 B(Black) :5124 05/23/2014 12:00:00 AM: 30 Min. :-1.00 NO DATA ENTERED:3622 Investigation :3875
1st Qu.: 2.000 W(White) : 358 09/03/2014 12:00:00 AM: 29 1st Qu.:21.00 Dorchester :1120 Other :1150
Median : 2.000 NO DATA ENTERED : 184 06/01/2014 12:00:00 AM: 27 Median :24.00 Roxbury : 442 Quality of Life : 336
Mean : 8.905 H(Hispanic) : 169 06/11/2014 12:00:00 AM: 26 Mean :26.01 OTHER : 199 Warrant and Firearm: 199
3rd Qu.: 2.000 A(Asian or Pacific Islander) : 20 05/16/2014 12:00:00 AM: 22 3rd Qu.:29.00 Boston : 155 Property : 139
Max. :9999.000 M(Middle Eastern or East Indian): 8 05/22/2015 12:00:00 AM: 22 Max. :74.00 Mattapan : 105 Sexnsual Offense : 81
(Other) : 5 (Other) :5712 (Other) : 225 (Other) : 88
DIST_IDNAME ADDRESS long lat
Roxbury :3015 70 ANNUNCIATION RD,Roxbury,BOSTON : 33 Min. :-71.18 Min. :42.23
Dorchester :1484 58 ANNUNCIATION RD,Roxbury,BOSTON : 24 1st Qu.:-71.12 1st Qu.:42.29
Mattapan : 843 131 HAROLD ST,Roxbury,BOSTON : 20 Median :-71.09 Median :42.31
South End : 130 BOWER ST,Roxbury,BOSTON : 18 Mean :-71.10 Mean :42.32
Jamaica Plain: 82 1352 DORCHESTER AV,Dorchester,BOSTON: 18 3rd Qu.:-71.06 3rd Qu.:42.35
Downtown : 64 500 GENEVA AV,Dorchester,BOSTON : 17 Max. :-71.00 Max. :42.39
(Other) : 250 (Other) :5738
table(FI11_15$DIST)
A1 A15 A7 Auto B2 B3 BMP C11 C6 D14 D4 DCU E13 E18 E5 YVSF
71 26 23 2 3789 1048 9 1743 77 65 189 2 137 84 26 26
# install the packages
if(!require(readr)) install.packages("readr")
Loading required package: readr
package <U+393C><U+3E31>readr<U+393C><U+3E32> was built under R version 3.5.1
if(!require(dplyr)) install.packages("dplyr")
Loading required package: dplyr
package <U+393C><U+3E31>dplyr<U+393C><U+3E32> was built under R version 3.5.1
Attaching package: <U+393C><U+3E31>dplyr<U+393C><U+3E32>
The following objects are masked from <U+393C><U+3E31>package:stats<U+393C><U+3E32>:
filter, lag
The following objects are masked from <U+393C><U+3E31>package:base<U+393C><U+3E32>:
intersect, setdiff, setequal, union
if(!require(DT)) install.packages("DT")
Loading required package: DT
package <U+393C><U+3E31>DT<U+393C><U+3E32> was built under R version 3.5.1
if(!require(ggrepel)) install.packages("ggrepel")
Loading required package: ggrepel
package <U+393C><U+3E31>ggrepel<U+393C><U+3E32> was built under R version 3.5.1Loading required package: ggplot2
package <U+393C><U+3E31>ggplot2<U+393C><U+3E32> was built under R version 3.5.1
if(!require(leaflet)) install.packages("leaflet")
Loading required package: leaflet
package <U+393C><U+3E31>leaflet<U+393C><U+3E32> was built under R version 3.5.1
library(rgdal)
package <U+393C><U+3E31>rgdal<U+393C><U+3E32> was built under R version 3.5.1Loading required package: sp
package <U+393C><U+3E31>sp<U+393C><U+3E32> was built under R version 3.5.1rgdal: version: 1.3-6, (SVN revision 773)
Geospatial Data Abstraction Library extensions to R successfully loaded
Loaded GDAL runtime: GDAL 2.2.3, released 2017/11/20
Path to GDAL shared files: C:/Users/Aylin/Documents/R/win-library/3.5/rgdal/gdal
GDAL binary built with GEOS: TRUE
Loaded PROJ.4 runtime: Rel. 4.9.3, 15 August 2016, [PJ_VERSION: 493]
Path to PROJ.4 shared files: C:/Users/Aylin/Documents/R/win-library/3.5/rgdal/proj
Linking to sp version: 1.3-1
library(raster)
package <U+393C><U+3E31>raster<U+393C><U+3E32> was built under R version 3.5.1
Attaching package: <U+393C><U+3E31>raster<U+393C><U+3E32>
The following object is masked from <U+393C><U+3E31>package:dplyr<U+393C><U+3E32>:
select
library(htmlwidgets)
package <U+393C><U+3E31>htmlwidgets<U+393C><U+3E32> was built under R version 3.5.1
policeDistricts <- shapefile("C:\\Users\\Aylin\\Documents\\R Data Files\\Police_Districts\\Police_Districts.shp")
policeDistricts$NAME <-c('Charlestown','East Boston','Downtown','South Boston',
'South End','Brighton','Jamaica Plain','West Roxbury',
'Mattapan','Dorchester','Hyde Park','Roxbury')
policeDistricts$INCIDENTS = c(26, 23,71,77,189,65,137,26,1048,1743,84,3789)
# Display crime incident locations on the map using leaflet.
# Click icons on the map to show incident details.
library(leaflet)
#data = FI11_15
data$popup <- paste("<b>Incident #: </b>", data$FIO_ID, "<br>",
"<b>Category: </b>", data$CAT,
"<br>", "<b>Reason: </b>", data$STOP_REASONS,
"<br>", "<b>Date: </b>", data$FIO_DATE,
"<br>", "<b>Time: </b>", data$FIO_TIME,
"<br>", "<b>PD district: </b>", data$OFF_DIST,
"<br>", "<b>Resolution: </b>", data$OUTCOME,
"<br>", "<b>Address: </b>", data$LOCATION,
"<br>", "<b>Longitude: </b>", data$long,
"<br>", "<b>Latitude: </b>", data$lat
)
bins <- c(0,50, 100, 500, 1000, 1500, 2000, 2500, 3000, 5000)
pal <- colorBin("Greens", domain = policeDistricts$INCIDENTS, bins = bins)
leaflet(data, width = "100%") %>% addTiles() %>%
addTiles(group = "OSM (default)") %>%
addProviderTiles(provider = "Esri.WorldStreetMap",group = "World StreetMap") %>%
addProviderTiles(provider = "Esri.WorldImagery",group = "World Imagery") %>%
# addProviderTiles(provider = "NASAGIBS.ViirsEarthAtNight2012",group = "Nighttime Imagery") %>%
addMarkers(data = data,lng = ~long, lat = ~lat, popup = data$popup, clusterOptions = markerClusterOptions()) %>%
addPolygons(data = policeDistricts, fill=TRUE,fillColor = ~pal(INCIDENTS),fillOpacity = 0.7 ,stroke = TRUE, color = "red",
popup = paste0("DISTRICT:",policeDistricts$NAME, "<br>",
"DIST_ID:", policeDistricts$DISTRICT, "<br>",
"TOTAL INCIDENTS:",policeDistricts$INCIDENTS ))%>%
addLayersControl(
baseGroups = c("OSM (default)","World StreetMap", "World Imagery"),
options = layersControlOptions(collapsed = FALSE)
)
#a$width <- 874
#a$height <- 700
#saveWidget(a,"FI11-15Map.html", selfcontained = FALSE)